home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / language / modula.zoo / _defn_aes.def < prev    next >
Text File  |  1988-04-26  |  9KB  |  420 lines

  1. DEFINITION MODULE AES;
  2.  
  3. FROM SYSTEM IMPORT ADDRESS;
  4.  
  5.  
  6. (* ---------------------------------------------------------------------- *)
  7.  
  8. (* AES Application Library interface *)
  9.  
  10.  
  11.  
  12. PROCEDURE ApplInitialise (): INTEGER;
  13.  
  14. (* Initialise application. Returns ApId *)
  15.  
  16.  
  17. PROCEDURE ApplRead (Id, Length: INTEGER; PBuff: ADDRESS);
  18.  
  19. (* Read from a message pipe. Returns coded return message, 0 = error *)
  20.  
  21.  
  22. PROCEDURE ApplWrite (Id, Length: INTEGER; PBuff: ADDRESS);
  23.  
  24. (* Write to a message pipe. Returns coded return message, 0 = error *)
  25.  
  26.  
  27. PROCEDURE ApplFind (VAR FPname: ARRAY OF CHAR): INTEGER;
  28.  
  29. (* Find the Id of another application in the system. *)
  30.  
  31.  
  32. PROCEDURE ApplTPlayback (TpMem: ADDRESS;
  33.                           TpNum, TpScale: INTEGER);
  34.  
  35. (* Play back a piece of GEM AES recording of user's actions. *)
  36.  
  37.  
  38. PROCEDURE ApplTRecord (TrMem: ADDRESS; TrNum: INTEGER);
  39.  
  40. (* Record the next ApTrNum user actions. Returns number recorded. *)
  41.  
  42.  
  43. PROCEDURE ApplExit;
  44.  
  45. (* Exit application. *)
  46.  
  47.  
  48.  
  49. (* ---------------------------------------------------------------------- *)
  50.  
  51. (* AES Event Library interface *)
  52.  
  53.  
  54.  
  55. PROCEDURE EventKeyboard (): INTEGER;
  56.  
  57. (* Wait for keyboard input. *)
  58.  
  59.  
  60. PROCEDURE EventButton (Clicks, BMask, BState: INTEGER;
  61.                         VAR BmX, BmY, BButton, Bkstate: INTEGER): INTEGER;
  62.  
  63. (* Wait for a mouse action. *)
  64.  
  65.  
  66. PROCEDURE EventMouse (MoFlags, MoX, MoY, MoWidth, MoHeight: INTEGER;
  67.                        VAR MomX, MomY, MoButton, MokState: INTEGER);
  68.  
  69. (* Wait for mouse to enter or leave a specified rectangle. *)
  70.  
  71.  
  72. PROCEDURE EventMessage (PBuff: ADDRESS);
  73.  
  74. (* Wait for 16 bit message from the message pipe. *)
  75.  
  76.  
  77. PROCEDURE EventTimer (LoCount, HiCount: INTEGER);
  78.  
  79. (* Wait for time to pass *)
  80.  
  81.  
  82. PROCEDURE EventMultiple (Flags, Clicks, Mask, State, 
  83.                           M1Flags, M1X, M1Y, M1Width, M1Height,
  84.                           M2Flags, M2X, M2Y, M2Width, M2Height: INTEGER;
  85.                           PBuff: ADDRESS;
  86.                           LoCount, HiCount: INTEGER;
  87.                       VAR MoX, MoY, MoButton, MokState, 
  88.                           KReturn, BReturn: INTEGER): INTEGER;
  89.  
  90. (* Wait for multiple events. *)
  91.  
  92.  
  93. PROCEDURE EventDoubleClick (New, GetOrSet: INTEGER): INTEGER;
  94.  
  95. (* Set or Get double click speed. *)
  96.  
  97.  
  98.  
  99. (* ---------------------------------------------------------------------- *)
  100.  
  101. (* AES Forms Library interface *)
  102.  
  103.  
  104.  
  105. PROCEDURE FormDo (Tree: ADDRESS; StartOb: INTEGER): INTEGER;
  106.  
  107. (* Causes the form library to monitor a users interaction with a form *)
  108.  
  109.  
  110. PROCEDURE FormDialogue (Flag, LIX, LIY, LIW, LIH,
  111.                         BIX, BIY, BIW, BIH: INTEGER);
  112.  
  113. (* Multi forms action according to flag *)
  114.  
  115.  
  116. PROCEDURE FormAlert (DefButton: INTEGER; VAR String: ARRAY OF CHAR): INTEGER;
  117.  
  118. (* Displays an alert *)
  119.  
  120.  
  121. PROCEDURE FormError (ErrorNum: INTEGER): INTEGER;
  122.  
  123. (* Displays an error *)
  124.  
  125.  
  126. PROCEDURE FormCenter (Tree: ADDRESS; VAR X, Y, W, H: INTEGER);
  127.  
  128. (* Centers a dialog box on the screen *)
  129.  
  130.  
  131.  
  132. (* ---------------------------------------------------------------------- *)
  133.  
  134. (* File Selector Library interface *)
  135.  
  136.  
  137. PROCEDURE FileSelectorInput (InPath, InSel: ADDRESS; VAR ExButton: INTEGER);
  138.  
  139.  
  140.  
  141. (* ---------------------------------------------------------------------- *)
  142.  
  143. (* AES Graphics Library interface *)
  144.  
  145.  
  146.  
  147. PROCEDURE GrafRubberBox (X, Y, MinWidth, MinHeight: INTEGER;
  148.                          VAR LastWidth, LastHeight: INTEGER);
  149.  
  150. (* Draws a "rubber box" *)
  151.  
  152.  
  153. PROCEDURE GrafDragBox (Width, Height, StartX, StartY, BoundX, BoundY,
  154.                        BoundW, BoundH: INTEGER;
  155.                        VAR FinishX, FinishY: INTEGER);
  156.  
  157. (* Allow user to drag a box *)
  158.  
  159.  
  160. PROCEDURE GrafMoveBox (Width, Height, 
  161.                        SourceX, SourceY, DestX, DestY: INTEGER);
  162.  
  163. (* Draws a moving box *)
  164.  
  165.  
  166. PROCEDURE GrafGrowBox (StX, StY, StWidth, StHeight,
  167.                        FinX, FinY, FinWidth, FinHeight: INTEGER);
  168.  
  169. (* Draws an expanding box outline *)
  170.  
  171.  
  172. PROCEDURE GrafShrinkBox (FinX, FinY, FinWidth, FinHeight,
  173.                          StX, StY, StWidth, StHeight: INTEGER);
  174.  
  175. (* Draws an shrinking box outline *)
  176.  
  177.  
  178. PROCEDURE GrafWatchBox (Tree: ADDRESS; Object, InState, OutState: INTEGER):
  179.                         INTEGER;
  180.  
  181. (* Tracks mouse in and out of box *)
  182.  
  183.  
  184. PROCEDURE GrafSlideBox (Tree: ADDRESS; 
  185.                         Parent, Object, VH: INTEGER): INTEGER;
  186.  
  187. (* Tracks sliding box in a parent box *)
  188.  
  189.  
  190. PROCEDURE GrafHandle (VAR WChar, HChar, WBox, HBox: INTEGER): INTEGER;
  191.  
  192. (* Gets the GEM VDI handle *)
  193.  
  194.  
  195. PROCEDURE GrafMouse (Number: INTEGER; Faddr: ADDRESS);
  196.  
  197. (* Changes to mouse *)
  198.  
  199.  
  200. PROCEDURE GrafMouseKeyboardState (VAR MX, MY, MState, KState: INTEGER);
  201.  
  202. (* Return mouse loc and state *)
  203.  
  204.  
  205.  
  206. (* ---------------------------------------------------------------------- *)
  207.  
  208. (* AES Menu Library interface *)
  209.  
  210.  
  211.  
  212. PROCEDURE MenuBar (Tree: ADDRESS; Show: INTEGER);
  213.  
  214. (* Display or erase current menu bar *)
  215.  
  216.  
  217. PROCEDURE MenuItemCheck (Tree: ADDRESS; Item, Check: INTEGER);
  218.  
  219. (* Display or erase a check mark next to a menu item *)
  220.  
  221.  
  222. PROCEDURE MenuItemEnable (Tree: ADDRESS; Item, Enable: INTEGER);
  223.  
  224. (* Enables or disables a menu item *)
  225.  
  226.  
  227. PROCEDURE MenuTitleNormal (Tree: ADDRESS; Title, Normal: INTEGER);
  228.  
  229. (* Displays a menu title in normal or reverse video *)
  230.  
  231.  
  232. PROCEDURE MenuText (Tree: ADDRESS; Item: INTEGER; Text: ADDRESS);
  233.  
  234. (* Changes the text of a menu item *)
  235.  
  236.  
  237. PROCEDURE MenuRegister (Apid: INTEGER; VAR PString: ARRAY OF CHAR): INTEGER;
  238.  
  239. (* Place desk accessorie's text in a menu *)
  240.  
  241.  
  242.  
  243. (* ---------------------------------------------------------------------- *)
  244.  
  245. (* AES Object library interface *)
  246.  
  247.  
  248.  
  249. PROCEDURE ObjectAdd (Tree: ADDRESS; Parent, Child: INTEGER);
  250.  
  251. (* Adds and object to the object tree *)
  252.  
  253.  
  254. PROCEDURE ObjectDelete (Tree: ADDRESS; Object: INTEGER);
  255.  
  256. (* Delete an object from an object tree *)
  257.  
  258.  
  259. PROCEDURE ObjectDraw (Tree: ADDRESS; StartOb, Depth, XClip, YClip,
  260.                       WClip, HClip: INTEGER);
  261.  
  262. (* Draws any object(s) in the object tree *)
  263.  
  264.  
  265. PROCEDURE ObjectFind (Tree: ADDRESS; 
  266.                       StartOb, Depth, MX, MY: INTEGER): INTEGER;
  267.  
  268. (* Finds an object under the mouse form *)
  269.  
  270.  
  271. PROCEDURE ObjectOffset (Tree: ADDRESS; Object: INTEGER;
  272.                         VAR Xoff, Yoff: INTEGER);
  273.  
  274. (* Computes an objects X and Y coords relative to the screen *)
  275.  
  276.  
  277. PROCEDURE ObjectOrder (Tree: ADDRESS; Object, NewPos: INTEGER);
  278.  
  279. (* Moves an object within its parents list *)
  280.  
  281.  
  282. PROCEDURE ObjectEdit (Tree: ADDRESS; 
  283.                       Object, Char, IdX, Kind: INTEGER;
  284.                       VAR NewIdX: INTEGER);
  285.  
  286. (* Allow user to edit text in an object *)
  287.  
  288.  
  289. PROCEDURE ObjectChange (Tree: ADDRESS; 
  290.                         Object, resrvd, XClip, YClip, WClip, HClip,
  291.                         NewState, Redraw: INTEGER);
  292.  
  293. (* Changes an objects State value *)
  294.  
  295.  
  296.  
  297. (* ---------------------------------------------------------------------- *)
  298.  
  299. (* Resource library interface *)
  300.  
  301.  
  302.  
  303. PROCEDURE ResourceLoad (VAR FName: ARRAY OF CHAR);
  304.  
  305. (* Load a resource file *)
  306.  
  307.  
  308. PROCEDURE ResourceFree;
  309.  
  310. (* Free loaded space *)
  311.  
  312.  
  313. PROCEDURE ResourceGetAddr (Type, Index: INTEGER; VAR Addr: ADDRESS);
  314.  
  315. (* Get address of resource *)
  316.  
  317.  
  318. PROCEDURE ResourceSetAddr (Type, Index: INTEGER;
  319.                            Addr: ADDRESS);
  320.  
  321. (* Set address of resource *)
  322.  
  323.  
  324. PROCEDURE ResourceObjectFix (Tree: ADDRESS; Object: INTEGER);
  325.  
  326. (* Convert object's character x,y to pixel x,y *)
  327.  
  328.  
  329.  
  330. (* ---------------------------------------------------------------------- *)
  331.  
  332. (* Scrap Library interface *)
  333.  
  334.  
  335.  
  336. PROCEDURE ScrapRead (Scrap: ADDRESS);
  337.  
  338. (* Reads the current scrap directory *)
  339.  
  340.  
  341. PROCEDURE ScrapWrite (Scrap: ADDRESS);
  342.  
  343. (* Writes the current scrap directory *)
  344.  
  345.  
  346.  
  347. (* ---------------------------------------------------------------------- *)
  348.  
  349. (* Shell Library interface *)
  350.  
  351.  
  352.  
  353. PROCEDURE ShellRead (Command, Tail: ADDRESS);
  354.  
  355.  
  356. PROCEDURE ShellWrite (DoEx, IsGr, IsCr: INTEGER; Comm